home *** CD-ROM | disk | FTP | other *** search
/ Macwelt 4 / Macwelt DVD 4.cdr / Entwickler / Mac-OS X / Pantomime / Testing / Tests / testMimeUtility.m < prev   
MacBinary  |  2002-04-08  |  6.9 KB  |  [□□□□/□□□□]

open in: MacOS 8.1     |     Win98     |     DOS

browse contents    |     view JSON data     |     view as text


This file was processed as: MacBinary (archive/macBinary).

ConfidenceProgramDetectionMatch TypeSupport
66% dexvert Ultima 6 (music/ultima6) ext Supported
1% dexvert PC-98 Music (music/pc98Music) ext Unsupported
1% dexvert Amiga E Module (other/amigaEModule) ext Unsupported
1% dexvert ECX module (other/ecxModule) ext Unsupported
1% dexvert Maple Common Binary (other/mapleCommonBinary) ext Unsupported
1% dexvert MacBinary (archive/macBinary) fallback Supported
100% file MacBinary II, inited, Mon Apr 8 13:33:56 2002, modified Mon Apr 8 13:33:56 2002, 6429 bytes "testMimeUtility.m" , at 0x199d 286 bytes resource default (weak)
99% file data default
100% TrID MacBinary 2 default (weak)
100% dearkID deark: macbinary default
100% siegfried fmt/1762 MacBinary (II) default
100% lsar MacBinary default


id metadata
keyvalue
macFileType[□□□□]
macFileCreator[□□□□]



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 11 74 65 73 74 4d 69 | 6d 65 55 74 69 6c 69 74 |..testMi|meUtilit|
|00000010| 79 2e 6d 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |y.m.....|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 00 00 00 00 00 00 00 | 00 01 00 00 00 00 00 00 |........|........|
|00000050| 00 00 00 00 00 19 1d 00 | 00 01 1e b8 d7 85 04 b8 |........|........|
|00000060| d7 85 04 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 39 3e 00 00 |........|....9>..|
|00000080| 23 69 6e 63 6c 75 64 65 | 20 3c 46 6f 75 6e 64 61 |#include| <Founda|
|00000090| 74 69 6f 6e 2f 4e 53 4f | 62 6a 65 63 74 2e 68 3e |tion/NSO|bject.h>|
|000000a0| 0a 23 69 6e 63 6c 75 64 | 65 20 3c 46 6f 75 6e 64 |.#includ|e <Found|
|000000b0| 61 74 69 6f 6e 2f 4e 53 | 53 74 72 69 6e 67 2e 68 |ation/NS|String.h|
|000000c0| 3e 0a 23 69 6e 63 6c 75 | 64 65 20 3c 46 6f 75 6e |>.#inclu|de <Foun|
|000000d0| 64 61 74 69 6f 6e 2f 4e | 53 44 61 74 61 2e 68 3e |dation/N|SData.h>|
|000000e0| 0a 0a 23 69 6e 63 6c 75 | 64 65 20 22 54 65 73 74 |..#inclu|de "Test|
|000000f0| 43 61 73 65 2e 68 22 0a | 0a 23 69 6d 70 6f 72 74 |Case.h".|.#import|
|00000100| 20 3c 50 61 6e 74 6f 6d | 69 6d 65 2f 4d 69 6d 65 | <Pantom|ime/Mime|
|00000110| 55 74 69 6c 69 74 79 2e | 68 3e 0a 23 69 6d 70 6f |Utility.|h>.#impo|
|00000120| 72 74 20 3c 50 61 6e 74 | 6f 6d 69 6d 65 2f 43 6f |rt <Pant|omime/Co|
|00000130| 6e 73 74 61 6e 74 73 2e | 68 3e 0a 0a 0a 40 69 6e |nstants.|h>...@in|
|00000140| 74 65 72 66 61 63 65 20 | 74 65 73 74 5f 4d 69 6d |terface |test_Mim|
|00000150| 65 55 74 69 6c 69 74 79 | 20 3a 20 54 65 73 74 43 |eUtility| : TestC|
|00000160| 61 73 65 0a 40 65 6e 64 | 0a 0a 40 69 6d 70 6c 65 |ase.@end|..@imple|
|00000170| 6d 65 6e 74 61 74 69 6f | 6e 20 74 65 73 74 5f 4d |mentatio|n test_M|
|00000180| 69 6d 65 55 74 69 6c 69 | 74 79 0a 0a 2f 2a 0a 54 |imeUtili|ty../*.T|
|00000190| 68 69 73 20 61 6c 73 6f | 20 74 65 73 74 73 20 62 |his also| tests b|
|000001a0| 61 73 65 2d 36 34 20 64 | 65 63 6f 64 69 6e 67 2c |ase-64 d|ecoding,|
|000001b0| 20 71 75 6f 74 65 64 20 | 70 72 69 6e 74 61 62 6c | quoted |printabl|
|000001c0| 65 20 64 65 63 6f 64 69 | 6e 67 2c 20 61 6e 64 20 |e decodi|ng, and |
|000001d0| 63 68 61 72 61 63 74 65 | 72 0a 73 65 74 20 68 61 |characte|r.set ha|
|000001e0| 6e 64 6c 69 6e 67 2e 0a | 2a 2f 0a 2d 20 28 76 6f |ndling..|*/.- (vo|
|000001f0| 69 64 29 20 74 65 73 74 | 5f 64 65 63 6f 64 65 48 |id) test|_decodeH|
|00000200| 65 61 64 65 72 0a 7b 0a | 20 20 73 74 72 75 63 74 |eader.{.| struct|
|00000210| 20 7b 20 63 6f 6e 73 74 | 20 63 68 61 72 20 2a 69 | { const| char *i|
|00000220| 6e 3b 20 4e 53 53 74 72 | 69 6e 67 20 2a 6f 75 74 |n; NSStr|ing *out|
|00000230| 3b 20 7d 20 74 65 73 74 | 73 5b 5d 20 3d 20 7b 0a |; } test|s[] = {.|
|00000240| 20 20 20 20 2f 2a 20 6e | 6f 72 6d 61 6c 20 73 74 | /* n|ormal st|
|00000250| 72 69 6e 67 20 2a 2f 0a | 20 20 20 20 7b 22 66 6f |ring */.| {"fo|
|00000260| 6f 22 2c 40 22 66 6f 6f | 22 7d 2c 0a 20 20 20 20 |o",@"foo|"},. |
|00000270| 2f 2a 20 27 61 6c 6d 6f | 73 74 27 20 76 61 6c 69 |/* 'almo|st' vali|
|00000280| 64 20 2a 2f 0a 20 20 20 | 20 7b 22 66 6f 6f 3d 3f |d */. | {"foo=?|
|00000290| 62 61 72 22 2c 40 22 66 | 6f 6f 3d 3f 62 61 72 22 |bar",@"f|oo=?bar"|
|000002a0| 7d 2c 0a 20 20 20 20 2f | 2a 20 71 75 6f 74 65 64 |},. /|* quoted|
|000002b0| 20 70 72 69 6e 74 61 62 | 6c 65 20 2a 2f 0a 20 20 | printab|le */. |
|000002c0| 20 20 7b 22 3d 3f 69 73 | 6f 2d 38 38 35 39 2d 31 | {"=?is|o-8859-1|
|000002d0| 3f 71 3f 41 3d 34 32 43 | 3f 3d 22 2c 40 22 41 42 |?q?A=42C|?=",@"AB|
|000002e0| 43 22 7d 2c 0a 20 20 20 | 20 2f 2a 20 71 75 6f 74 |C"},. | /* quot|
|000002f0| 65 64 20 70 72 69 6e 74 | 61 62 6c 65 20 2b 20 6f |ed print|able + o|
|00000300| 74 68 65 72 73 20 2a 2f | 0a 20 20 20 20 7b 22 66 |thers */|. {"f|
|00000310| 6f 6f 20 3d 3f 69 73 6f | 2d 38 38 35 39 2d 31 3f |oo =?iso|-8859-1?|
|00000320| 51 3f 48 61 6c 6c 3d 45 | 35 5f 64 3d 45 34 72 3f |Q?Hall=E|5_d=E4r?|
|00000330| 3d 20 7a 6f 74 22 2c 40 | 22 66 6f 6f 20 48 61 6c |= zot",@|"foo Hal|
|00000340| 6c e5 20 64 e4 72 20 7a | 6f 74 22 7d 2c 0a 20 20 |l. d.r z|ot"},. |
|00000350| 20 20 2f 2a 20 75 74 66 | 2d 38 20 2b 20 62 61 73 | /* utf|-8 + bas|
|00000360| 65 20 36 34 20 2b 20 69 | 67 6e 6f 72 65 20 77 68 |e 64 + i|gnore wh|
|00000370| 69 74 65 73 70 61 63 65 | 20 62 65 74 77 65 65 6e |itespace| between|
|00000380| 20 71 75 6f 74 65 64 20 | 77 6f 72 64 73 20 2a 2f | quoted |words */|
|00000390| 0a 20 20 20 20 7b 22 66 | 6f 6f 20 3d 3f 75 74 66 |. {"f|oo =?utf|
|000003a0| 2d 38 3f 42 3f 53 47 46 | 73 3f 3d 20 5c 6e 5c 74 |-8?B?SGF|s?= \n\t|
|000003b0| 20 3d 3f 75 74 66 2d 38 | 3f 62 3f 62 4d 4f 6c 3f | =?utf-8|?b?bMOl?|
|000003c0| 3d 20 62 61 72 22 2c 40 | 22 66 6f 6f 20 48 61 6c |= bar",@|"foo Hal|
|000003d0| 6c e5 20 62 61 72 22 7d | 2c 0a 20 20 20 20 2f 2a |l. bar"}|,. /*|
|000003e0| 20 70 61 73 73 20 69 6e | 76 61 6c 69 64 20 73 74 | pass in|valid st|
|000003f0| 75 66 66 20 74 68 72 6f | 75 67 68 20 2a 2f 0a 20 |uff thro|ugh */. |
|00000400| 20 20 20 7b 22 66 6f 6f | 20 3d 3f 69 6e 76 61 6c | {"foo| =?inval|
|00000410| 69 64 3f 71 3f 3d 34 31 | 3d 34 32 3d 34 33 3f 3d |id?q?=41|=42=43?=|
|00000420| 20 7a 6f 74 22 2c 40 22 | 66 6f 6f 20 3d 3f 69 6e | zot",@"|foo =?in|
|00000430| 76 61 6c 69 64 3f 71 3f | 3d 34 31 3d 34 32 3d 34 |valid?q?|=41=42=4|
|00000440| 33 3f 3d 20 7a 6f 74 22 | 7d 2c 0a 20 20 20 20 2f |3?= zot"|},. /|
|00000450| 2a 20 54 4f 44 4f 3a 20 | 74 65 73 74 20 69 6e 76 |* TODO: |test inv|
|00000460| 61 6c 69 64 20 71 75 6f | 74 65 64 20 6f 72 20 62 |alid quo|ted or b|
|00000470| 61 73 65 2d 36 34 20 73 | 65 71 75 65 6e 63 65 73 |ase-64 s|equences|
|00000480| 3f 20 2a 2f 0a 20 20 7d | 3b 0a 20 20 0a 20 20 69 |? */. }|;. . i|
|00000490| 6e 74 20 69 3b 0a 20 20 | 4e 53 44 61 74 61 20 2a |nt i;. |NSData *|
|000004a0| 64 3b 0a 20 20 4e 53 53 | 74 72 69 6e 67 20 2a 73 |d;. NSS|tring *s|
|000004b0| 3b 0a 20 20 0a 20 20 66 | 6f 72 20 28 20 69 20 3d |;. . f|or ( i =|
|000004c0| 20 30 3b 20 69 20 3c 20 | 73 69 7a 65 6f 66 28 74 | 0; i < |sizeof(t|
|000004d0| 65 73 74 73 29 2f 73 69 | 7a 65 6f 66 28 74 65 73 |ests)/si|zeof(tes|
|000004e0| 74 73 5b 30 5d 29 3b 20 | 69 2b 2b 29 0a 20 20 20 |ts[0]); |i++). |
|000004f0| 20 7b 0a 20 20 20 20 20 | 20 64 20 3d 20 5b 5b 4e | {. | d = [[N|
|00000500| 53 44 61 74 61 20 61 6c | 6c 6f 63 5d 20 69 6e 69 |SData al|loc] ini|
|00000510| 74 57 69 74 68 42 79 74 | 65 73 3a 20 74 65 73 74 |tWithByt|es: test|
|00000520| 73 5b 69 5d 2e 69 6e 20 | 0a 09 09 09 20 20 6c 65 |s[i].in |.... le|
|00000530| 6e 67 74 68 3a 20 73 74 | 72 6c 65 6e 28 74 65 73 |ngth: st|rlen(tes|
|00000540| 74 73 5b 69 5d 2e 69 6e | 29 5d 3b 0a 0a 20 20 20 |ts[i].in|)];.. |
|00000550| 20 20 20 73 20 3d 20 5b | 4d 69 6d 65 55 74 69 6c | s = [|MimeUtil|
|00000560| 69 74 79 20 64 65 63 6f | 64 65 48 65 61 64 65 72 |ity deco|deHeader|
|00000570| 3a 20 64 5d 3b 0a 20 20 | 20 20 20 20 5b 73 65 6c |: d];. | [sel|
|00000580| 66 20 65 71 75 61 6c 53 | 74 72 69 6e 67 3a 20 74 |f equalS|tring: t|
|00000590| 65 73 74 73 5b 69 5d 2e | 6f 75 74 20 3a 20 73 5d |ests[i].|out : s]|
|000005a0| 3b 0a 20 20 20 20 20 20 | 5b 64 20 72 65 6c 65 61 |;. |[d relea|
|000005b0| 73 65 5d 3b 0a 20 20 20 | 20 7d 0a 7d 0a 0a 2d 20 |se];. | }.}..- |
|000005c0| 28 76 6f 69 64 29 20 74 | 65 73 74 5f 64 65 63 6f |(void) t|est_deco|
|000005d0| 64 65 5f 71 75 6f 74 65 | 64 70 72 69 6e 74 61 62 |de_quote|dprintab|
|000005e0| 6c 65 0a 7b 0a 20 20 73 | 74 61 74 69 63 20 63 6f |le.{. s|tatic co|
|000005f0| 6e 73 74 20 63 68 61 72 | 20 2a 69 6e 3d 22 48 61 |nst char| *in="Ha|
|00000600| 6c 6c 3d 45 35 20 64 3d | 45 34 72 21 20 66 6f 6f |ll=E5 d=|E4r! foo|
|00000610| 5f 62 61 72 5f 7a 6f 74 | 5c 6e 22 3b 0a 20 20 73 |_bar_zot|\n";. s|
|00000620| 74 61 74 69 63 20 63 6f | 6e 73 74 20 63 68 61 72 |tatic co|nst char|
|00000630| 20 2a 65 78 70 65 63 74 | 65 64 3d 22 48 61 6c 6c | *expect|ed="Hall|
|00000640| e5 20 64 e4 72 21 20 66 | 6f 6f 5f 62 61 72 5f 7a |. d.r! f|oo_bar_z|
|00000650| 6f 74 5c 6e 22 3b 0a 20 | 20 4e 53 44 61 74 61 20 |ot\n";. | NSData |
|00000660| 2a 67 6f 74 3b 0a 20 20 | 0a 20 20 67 6f 74 20 3d |*got;. |. got =|
|00000670| 20 5b 4d 69 6d 65 55 74 | 69 6c 69 74 79 20 64 65 | [MimeUt|ility de|
|00000680| 63 6f 64 65 51 75 6f 74 | 65 64 50 72 69 6e 74 61 |codeQuot|edPrinta|
|00000690| 62 6c 65 3a 20 5b 4e 53 | 44 61 74 61 20 64 61 74 |ble: [NS|Data dat|
|000006a0| 61 57 69 74 68 42 79 74 | 65 73 3a 20 69 6e 0a 09 |aWithByt|es: in..|
|000006b0| 09 09 09 09 09 20 20 20 | 20 6c 65 6e 67 74 68 3a |..... | length:|
|000006c0| 20 73 74 72 6c 65 6e 28 | 69 6e 29 5d 0a 09 09 20 | strlen(|in)]... |
|000006d0| 20 20 20 20 69 6e 48 65 | 61 64 65 72 3a 20 4e 4f | inHe|ader: NO|
|000006e0| 5d 3b 0a 0a 20 20 5b 73 | 65 6c 66 20 65 71 75 61 |];.. [s|elf equa|
|000006f0| 6c 44 61 74 61 3a 20 5b | 4e 53 44 61 74 61 20 64 |lData: [|NSData d|
|00000700| 61 74 61 57 69 74 68 42 | 79 74 65 73 3a 20 65 78 |ataWithB|ytes: ex|
|00000710| 70 65 63 74 65 64 0a 09 | 09 09 20 20 20 6c 65 6e |pected..|.. len|
|00000720| 67 74 68 3a 20 73 74 72 | 6c 65 6e 28 65 78 70 65 |gth: str|len(expe|
|00000730| 63 74 65 64 29 5d 20 3a | 20 67 6f 74 5d 3b 0a 7d |cted)] :| got];.}|
|00000740| 0a 0a 2d 28 76 6f 69 64 | 29 20 74 65 73 74 5f 75 |..-(void|) test_u|
|00000750| 6e 66 6f 6c 64 4c 69 6e | 65 73 46 72 6f 6d 44 61 |nfoldLin|esFromDa|
|00000760| 74 61 0a 7b 0a 20 20 73 | 74 61 74 69 63 20 63 6f |ta.{. s|tatic co|
|00000770| 6e 73 74 20 63 68 61 72 | 20 2a 69 6e 3d 0a 20 20 |nst char| *in=. |
|00000780| 20 20 22 48 65 61 64 65 | 72 3a 20 66 6f 6f 20 62 | "Heade|r: foo b|
|00000790| 61 72 20 7a 6f 74 5c 6e | 22 0a 20 20 20 20 22 5c |ar zot\n|". "\|
|000007a0| 74 20 71 75 75 78 5c 6e | 22 0a 20 20 20 20 22 48 |t quux\n|". "H|
|000007b0| 65 61 64 65 72 2d 32 3a | 20 61 62 63 64 65 5c 6e |eader-2:| abcde\n|
|000007c0| 22 0a 20 20 20 20 22 48 | 65 61 64 65 72 2d 33 3a |". "H|eader-3:|
|000007d0| 20 66 67 68 5c 6e 22 0a | 20 20 20 20 22 20 69 6a | fgh\n".| " ij|
|000007e0| 6b 5c 6e 22 3b 0a 20 20 | 0a 20 20 73 74 61 74 69 |k\n";. |. stati|
|000007f0| 63 20 63 6f 6e 73 74 20 | 63 68 61 72 20 2a 6f 75 |c const |char *ou|
|00000800| 74 3d 0a 20 20 20 20 22 | 48 65 61 64 65 72 3a 20 |t=. "|Header: |
|00000810| 66 6f 6f 20 62 61 72 20 | 7a 6f 74 5c 74 20 71 75 |foo bar |zot\t qu|
|00000820| 75 78 5c 6e 22 0a 20 20 | 20 20 22 48 65 61 64 65 |ux\n". | "Heade|
|00000830| 72 2d 32 3a 20 61 62 63 | 64 65 5c 6e 22 0a 20 20 |r-2: abc|de\n". |
|00000840| 20 20 22 48 65 61 64 65 | 72 2d 33 3a 20 66 67 68 | "Heade|r-3: fgh|
|00000850| 20 69 6a 6b 5c 6e 22 3b | 0a 20 20 0a 20 20 4e 53 | ijk\n";|. . NS|
|00000860| 44 61 74 61 20 2a 64 69 | 6e 2c 2a 64 6f 75 74 2c |Data *di|n,*dout,|
|00000870| 2a 64 67 6f 74 3b 0a 20 | 20 0a 20 20 64 69 6e 20 |*dgot;. | . din |
|00000880| 3d 20 5b 4e 53 44 61 74 | 61 20 64 61 74 61 57 69 |= [NSDat|a dataWi|
|00000890| 74 68 42 79 74 65 73 3a | 20 69 6e 0a 09 09 6c 65 |thBytes:| in...le|
|000008a0| 6e 67 74 68 3a 20 73 74 | 72 6c 65 6e 28 69 6e 29 |ngth: st|rlen(in)|
|000008b0| 5d 3b 0a 0a 20 20 64 6f | 75 74 20 3d 20 5b 4e 53 |];.. do|ut = [NS|
|000008c0| 44 61 74 61 20 64 61 74 | 61 57 69 74 68 42 79 74 |Data dat|aWithByt|
|000008d0| 65 73 3a 20 6f 75 74 0a | 09 09 20 6c 65 6e 67 74 |es: out.|.. lengt|
|000008e0| 68 3a 20 73 74 72 6c 65 | 6e 28 6f 75 74 29 5d 3b |h: strle|n(out)];|
|000008f0| 0a 20 20 0a 20 20 64 67 | 6f 74 20 3d 20 5b 4d 69 |. . dg|ot = [Mi|
|00000900| 6d 65 55 74 69 6c 69 74 | 79 20 75 6e 66 6f 6c 64 |meUtilit|y unfold|
|00000910| 4c 69 6e 65 73 46 72 6f | 6d 44 61 74 61 3a 20 64 |LinesFro|mData: d|
|00000920| 69 6e 5d 3b 0a 20 20 0a | 20 20 5b 73 65 6c 66 20 |in];. .| [self |
|00000930| 65 71 75 61 6c 44 61 74 | 61 3a 20 64 6f 75 74 20 |equalDat|a: dout |
|00000940| 3a 20 64 67 6f 74 5d 3b | 0a 7d 0a 0a 0a 2d 20 28 |: dgot];|.}...- (|
|00000950| 76 6f 69 64 29 20 74 65 | 73 74 5f 62 61 73 69 63 |void) te|st_basic|
|00000960| 5f 65 6e 63 6f 64 69 6e | 67 0a 7b 0a 20 20 73 74 |_encodin|g.{. st|
|00000970| 61 74 69 63 20 63 6f 6e | 73 74 20 75 6e 73 69 67 |atic con|st unsig|
|00000980| 6e 65 64 20 63 68 61 72 | 20 69 6e 5b 5d 3d 0a 20 |ned char| in[]=. |
|00000990| 20 20 20 22 66 6f 6f 20 | 5c 78 31 30 5c 78 31 66 | "foo |\x10\x1f|
|000009a0| 5c 78 66 66 20 2d 3d e5 | e4 f6 3d 2d 5c 6e 22 3b |\xff -=.|..=-\n";|
|000009b0| 0a 20 20 0a 20 20 73 74 | 61 74 69 63 20 63 6f 6e |. . st|atic con|
|000009c0| 73 74 20 63 68 61 72 20 | 2a 6f 75 74 5f 71 70 3d |st char |*out_qp=|
|000009d0| 0a 20 20 20 20 22 66 6f | 6f 20 3d 31 30 3d 31 46 |. "fo|o =10=1F|
|000009e0| 3d 5c 6e 22 0a 20 20 20 | 20 22 3d 46 46 20 2d 3d |=\n". | "=FF -=|
|000009f0| 33 44 3d 45 35 3d 5c 6e | 22 0a 20 20 20 20 22 3d |3D=E5=\n|". "=|
|00000a00| 45 34 3d 46 36 3d 33 44 | 2d 3d 5c 6e 22 0a 20 20 |E4=F6=3D|-=\n". |
|00000a10| 20 20 22 5c 6e 22 3b 0a | 20 20 0a 20 20 73 74 61 | "\n";.| . sta|
|00000a20| 74 69 63 20 63 6f 6e 73 | 74 20 63 68 61 72 20 2a |tic cons|t char *|
|00000a30| 6f 75 74 5f 62 36 34 3d | 0a 20 20 20 20 22 5a 6d |out_b64=|. "Zm|
|00000a40| 39 76 49 42 41 66 5c 6e | 2f 79 41 74 50 65 58 6b |9vIBAf\n|/yAtPeXk|
|00000a50| 5c 6e 39 6a 30 74 43 67 | 3d 3d 5c 6e 22 3b 0a 20 |\n9j0tCg|==\n";. |
|00000a60| 20 0a 20 20 4e 53 44 61 | 74 61 20 2a 64 69 6e 2c | . NSDa|ta *din,|
|00000a70| 2a 64 65 78 70 5f 71 70 | 2c 2a 64 65 78 70 5f 62 |*dexp_qp|,*dexp_b|
|00000a80| 36 34 3b 0a 20 20 4e 53 | 44 61 74 61 20 2a 67 6f |64;. NS|Data *go|
|00000a90| 74 5f 71 70 2c 2a 67 6f | 74 5f 62 36 34 3b 0a 20 |t_qp,*go|t_b64;. |
|00000aa0| 20 0a 20 20 64 69 6e 20 | 3d 20 5b 4e 53 44 61 74 | . din |= [NSDat|
|00000ab0| 61 20 64 61 74 61 57 69 | 74 68 42 79 74 65 73 3a |a dataWi|thBytes:|
|00000ac0| 20 69 6e 0a 09 09 6c 65 | 6e 67 74 68 3a 20 73 69 | in...le|ngth: si|
|00000ad0| 7a 65 6f 66 28 69 6e 29 | 2d 31 5d 3b 0a 0a 20 20 |zeof(in)|-1];.. |
|00000ae0| 64 65 78 70 5f 71 70 20 | 3d 20 5b 4e 53 44 61 74 |dexp_qp |= [NSDat|
|00000af0| 61 20 64 61 74 61 57 69 | 74 68 42 79 74 65 73 3a |a dataWi|thBytes:|
|00000b00| 20 6f 75 74 5f 71 70 0a | 09 09 20 20 20 20 6c 65 | out_qp.|.. le|
|00000b10| 6e 67 74 68 3a 20 73 74 | 72 6c 65 6e 28 6f 75 74 |ngth: st|rlen(out|
|00000b20| 5f 71 70 29 5d 3b 0a 20 | 20 0a 20 20 64 65 78 70 |_qp)];. | . dexp|
|00000b30| 5f 62 36 34 20 3d 20 5b | 4e 53 44 61 74 61 20 64 |_b64 = [|NSData d|
|00000b40| 61 74 61 57 69 74 68 42 | 79 74 65 73 3a 20 6f 75 |ataWithB|ytes: ou|
|00000b50| 74 5f 62 36 34 0a 09 09 | 20 20 20 20 20 6c 65 6e |t_b64...| len|
|00000b60| 67 74 68 3a 20 73 74 72 | 6c 65 6e 28 6f 75 74 5f |gth: str|len(out_|
|00000b70| 62 36 34 29 5d 3b 0a 20 | 0a 20 20 67 6f 74 5f 71 |b64)];. |. got_q|
|00000b80| 70 20 3d 20 5b 4d 69 6d | 65 55 74 69 6c 69 74 79 |p = [Mim|eUtility|
|00000b90| 20 65 6e 63 6f 64 65 51 | 75 6f 74 65 64 50 72 69 | encodeQ|uotedPri|
|00000ba0| 6e 74 61 62 6c 65 3a 20 | 64 69 6e 0a 09 09 20 20 |ntable: |din... |
|00000bb0| 20 20 20 20 20 6c 69 6e | 65 4c 65 6e 67 74 68 3a | lin|eLength:|
|00000bc0| 20 31 30 0a 09 09 20 20 | 20 20 20 20 20 69 6e 48 | 10... | inH|
|00000bd0| 65 61 64 65 72 3a 20 4e | 4f 5d 3b 0a 20 20 0a 20 |eader: N|O];. . |
|00000be0| 20 67 6f 74 5f 62 36 34 | 20 3d 20 5b 4d 69 6d 65 | got_b64| = [Mime|
|00000bf0| 55 74 69 6c 69 74 79 20 | 65 6e 63 6f 64 65 42 61 |Utility |encodeBa|
|00000c00| 73 65 36 34 3a 20 64 69 | 6e 0a 09 09 09 20 6c 69 |se64: di|n.... li|
|00000c10| 6e 65 4c 65 6e 67 74 68 | 3a 20 31 30 5d 3b 0a 20 |neLength|: 10];. |
|00000c20| 20 0a 20 20 5b 73 65 6c | 66 20 65 71 75 61 6c 44 | . [sel|f equalD|
|00000c30| 61 74 61 3a 20 64 65 78 | 70 5f 71 70 20 3a 20 67 |ata: dex|p_qp : g|
|00000c40| 6f 74 5f 71 70 5d 3b 0a | 20 20 5b 73 65 6c 66 20 |ot_qp];.| [self |
|00000c50| 65 71 75 61 6c 44 61 74 | 61 3a 20 64 65 78 70 5f |equalDat|a: dexp_|
|00000c60| 62 36 34 20 3a 20 67 6f | 74 5f 62 36 34 5d 3b 0a |b64 : go|t_b64];.|
|00000c70| 7d 0a 0a 0a 2d 28 76 6f | 69 64 29 20 74 65 73 74 |}...-(vo|id) test|
|00000c80| 5f 65 6e 63 6f 64 65 5f | 68 65 61 64 65 72 0a 7b |_encode_|header.{|
|00000c90| 0a 20 20 73 74 61 74 69 | 63 20 4e 53 53 74 72 69 |. stati|c NSStri|
|00000ca0| 6e 67 20 2a 69 6e 31 3d | 40 22 54 65 73 74 20 66 |ng *in1=|@"Test f|
|00000cb0| 6f 6f 5f 62 61 72 20 68 | 61 6c 6c e5 21 22 3b 0a |oo_bar h|all.!";.|
|00000cc0| 20 20 73 74 61 74 69 63 | 20 75 6e 69 63 68 61 72 | static| unichar|
|00000cd0| 20 69 6e 32 5b 5d 3d 7b | 0a 20 20 20 20 30 78 30 | in2[]={|. 0x0|
|00000ce0| 30 34 38 2c 30 78 30 30 | 36 35 2c 30 78 30 30 36 |048,0x00|65,0x006|
|00000cf0| 32 2c 30 78 30 30 37 32 | 2c 30 78 30 30 36 35 2c |2,0x0072|,0x0065,|
|00000d00| 30 78 30 30 37 37 2c 30 | 78 30 30 32 30 2c 30 78 |0x0077,0|x0020,0x|
|00000d10| 30 35 65 39 2c 30 78 30 | 35 64 63 2c 30 78 30 35 |05e9,0x0|5dc,0x05|
|00000d20| 64 35 2c 30 78 30 35 64 | 64 7d 3b 0a 20 20 73 74 |d5,0x05d|d};. st|
|00000d30| 61 74 69 63 20 75 6e 69 | 63 68 61 72 20 69 6e 33 |atic uni|char in3|
|00000d40| 5b 5d 3d 7b 27 4d 27 2c | 27 61 27 2c 27 6e 27 2c |[]={'M',|'a','n',|
|00000d50| 27 79 27 2c 27 20 27 2c | 27 65 27 2c 27 6e 27 2c |'y',' ',|'e','n',|
|00000d60| 27 63 27 2c 27 20 27 2c | 30 78 30 35 65 39 2c 30 |'c',' ',|0x05e9,0|
|00000d70| 78 30 35 64 63 2c 30 78 | 30 35 64 35 2c 30 78 30 |x05dc,0x|05d5,0x0|
|00000d80| 35 64 64 2c 27 20 27 2c | 30 78 65 35 2c 30 78 65 |5dd,' ',|0xe5,0xe|
|00000d90| 34 2c 30 78 66 36 2c 27 | 21 27 7d 3b 0a 20 20 0a |4,0xf6,'|!'};. .|
|00000da0| 20 20 73 74 61 74 69 63 | 20 63 6f 6e 73 74 20 63 | static| const c|
|00000db0| 68 61 72 20 2a 6f 75 74 | 31 3d 22 54 65 73 74 5f |har *out|1="Test_|
|00000dc0| 66 6f 6f 3d 35 46 62 61 | 72 5f 68 61 6c 6c 3d 45 |foo=5Fba|r_hall=E|
|00000dd0| 35 3d 32 31 22 3b 0a 20 | 20 73 74 61 74 69 63 20 |5=21";. | static |
|00000de0| 63 6f 6e 73 74 20 63 68 | 61 72 20 2a 6f 75 74 32 |const ch|ar *out2|
|00000df0| 3d 22 48 65 62 72 65 77 | 5f 3d 46 39 3d 45 43 3d |="Hebrew|_=F9=EC=|
|00000e00| 45 35 3d 45 44 22 3b 0a | 20 20 2f 2a 20 41 4d 2d |E5=ED";.| /* AM-|
|00000e10| 54 4f 44 4f 3a 20 74 68 | 69 73 20 69 73 20 63 6f |TODO: th|is is co|
|00000e20| 72 72 65 63 74 2c 20 49 | 20 67 75 65 73 73 2c 20 |rrect, I| guess, |
|00000e30| 62 75 74 20 6e 6f 74 20 | 72 65 61 6c 6c 79 20 6d |but not |really m|
|00000e40| 65 61 6e 69 6e 67 66 75 | 6c 20 73 69 6e 63 65 20 |eaningfu|l since |
|00000e50| 69 74 0a 20 20 20 20 20 | 64 6f 65 73 6e 27 74 20 |it. |doesn't |
|00000e60| 73 61 79 20 77 68 69 63 | 68 20 65 6e 63 6f 64 69 |say whic|h encodi|
|00000e70| 6e 67 20 69 74 20 75 73 | 65 64 2e 20 2a 2f 0a 20 |ng it us|ed. */. |
|00000e80| 20 20 0a 20 20 73 74 61 | 74 69 63 20 63 6f 6e 73 | . sta|tic cons|
|00000e90| 74 20 63 68 61 72 20 2a | 6f 75 74 31 62 3d 22 56 |t char *|out1b="V|
|00000ea0| 47 56 7a 64 43 42 6d 62 | 32 39 66 59 6d 46 79 49 |GVzdCBmb|29fYmFyI|
|00000eb0| 47 68 68 62 47 7a 44 70 | 53 45 3d 22 3b 0a 20 20 |GhhbGzDp|SE=";. |
|00000ec0| 73 74 61 74 69 63 20 63 | 6f 6e 73 74 20 63 68 61 |static c|onst cha|
|00000ed0| 72 20 2a 6f 75 74 32 62 | 3d 22 48 65 62 72 65 77 |r *out2b|="Hebrew|
|00000ee0| 5f 3d 44 37 3d 41 39 3d | 44 37 3d 39 43 3d 44 37 |_=D7=A9=|D7=9C=D7|
|00000ef0| 3d 39 35 3d 44 37 3d 39 | 44 22 3b 0a 20 20 0a 20 |=95=D7=9|D";. . |
|00000f00| 20 2f 2a 20 41 4d 2d 54 | 4f 44 4f 3a 20 74 68 65 | /* AM-T|ODO: the|
|00000f10| 73 65 20 61 72 65 20 68 | 69 67 68 6c 79 20 73 75 |se are h|ighly su|
|00000f20| 62 2d 6f 70 74 69 6d 61 | 6c 2c 20 62 75 74 20 74 |b-optima|l, but t|
|00000f30| 68 65 79 20 77 6f 72 6b | 20 2a 2f 0a 20 20 73 74 |hey work| */. st|
|00000f40| 61 74 69 63 20 63 6f 6e | 73 74 20 63 68 61 72 20 |atic con|st char |
|00000f50| 2a 6f 75 74 31 63 3d 22 | 3d 3f 69 73 6f 2d 38 38 |*out1c="|=?iso-88|
|00000f60| 35 39 2d 31 3f 71 3f 54 | 65 73 74 5f 66 6f 6f 3d |59-1?q?T|est_foo=|
|00000f70| 35 46 62 61 72 5f 68 61 | 6c 6c 3d 45 35 3d 32 31 |5Fbar_ha|ll=E5=21|
|00000f80| 3f 3d 22 3b 0a 20 20 73 | 74 61 74 69 63 20 63 6f |?=";. s|tatic co|
|00000f90| 6e 73 74 20 63 68 61 72 | 20 2a 6f 75 74 32 63 3d |nst char| *out2c=|
|00000fa0| 22 3d 3f 69 73 6f 2d 38 | 38 35 39 2d 38 3f 71 3f |"=?iso-8|859-8?q?|
|00000fb0| 48 65 62 72 65 77 5f 3d | 46 39 3d 45 43 3d 45 35 |Hebrew_=|F9=EC=E5|
|00000fc0| 3d 45 44 3f 3d 22 3b 0a | 20 20 73 74 61 74 69 63 |=ED?=";.| static|
|00000fd0| 20 63 6f 6e 73 74 20 63 | 68 61 72 20 2a 6f 75 74 | const c|har *out|
|00000fe0| 33 63 3d 22 3d 3f 75 74 | 66 2d 38 3f 71 3f 4d 61 |3c="=?ut|f-8?q?Ma|
|00000ff0| 6e 79 5f 65 6e 63 5f 3d | 44 37 3d 41 39 3d 44 37 |ny_enc_=|D7=A9=D7|
|00001000| 3d 39 43 3d 44 37 3d 39 | 35 3d 44 37 3d 39 44 5f |=9C=D7=9|5=D7=9D_|
|00001010| 3d 43 33 3d 41 35 3d 43 | 33 3d 41 34 3d 43 33 3d |=C3=A5=C|3=A4=C3=|
|00001020| 42 36 3d 32 31 3f 3d 22 | 3b 0a 20 20 2f 2a 0a 20 |B6=21?="|;. /*. |
|00001030| 20 20 20 62 65 74 74 65 | 72 20 69 66 20 69 74 20 | bette|r if it |
|00001040| 77 65 72 65 0a 20 20 20 | 20 22 54 65 73 74 20 66 |were. | "Test f|
|00001050| 6f 6f 5f 62 61 72 20 3d | 3f 69 73 6f 2d 38 38 35 |oo_bar =|?iso-885|
|00001060| 39 2d 31 3f 71 3f 68 61 | 6c 6c 3d 45 35 3d 32 31 |9-1?q?ha|ll=E5=21|
|00001070| 3f 3d 22 0a 20 20 20 20 | 61 6e 64 0a 20 20 20 20 |?=". |and. |
|00001080| 22 48 65 62 72 65 77 20 | 3d 3f 69 73 6f 2d 38 38 |"Hebrew |=?iso-88|
|00001090| 35 39 2d 38 3f 71 3f 3d | 46 39 3d 45 43 3d 45 35 |59-8?q?=|F9=EC=E5|
|000010a0| 3d 45 44 3f 3d 22 0a 20 | 20 2a 2f 0a 0a 20 20 0a |=ED?=". | */.. .|
|000010b0| 20 20 4e 53 44 61 74 61 | 20 2a 67 6f 74 31 2c 2a | NSData| *got1,*|
|000010c0| 67 6f 74 32 2c 2a 67 6f | 74 33 3b 0a 20 20 0a 20 |got2,*go|t3;. . |
|000010d0| 20 67 6f 74 31 3d 5b 4d | 69 6d 65 55 74 69 6c 69 | got1=[M|imeUtili|
|000010e0| 74 79 20 65 6e 63 6f 64 | 65 48 65 61 64 65 72 3a |ty encod|eHeader:|
|000010f0| 20 69 6e 31 5d 3b 0a 20 | 20 67 6f 74 32 3d 5b 4d | in1];. | got2=[M|
|00001100| 69 6d 65 55 74 69 6c 69 | 74 79 20 65 6e 63 6f 64 |imeUtili|ty encod|
|00001110| 65 48 65 61 64 65 72 3a | 20 5b 4e 53 53 74 72 69 |eHeader:| [NSStri|
|00001120| 6e 67 20 73 74 72 69 6e | 67 57 69 74 68 43 68 61 |ng strin|gWithCha|
|00001130| 72 61 63 74 65 72 73 3a | 20 69 6e 32 20 20 6c 65 |racters:| in2 le|
|00001140| 6e 67 74 68 3a 20 73 69 | 7a 65 6f 66 28 69 6e 32 |ngth: si|zeof(in2|
|00001150| 29 2f 73 69 7a 65 6f 66 | 28 69 6e 32 5b 30 5d 29 |)/sizeof|(in2[0])|
|00001160| 5d 5d 3b 0a 20 20 0a 20 | 20 5b 73 65 6c 66 20 65 |]];. . | [self e|
|00001170| 71 75 61 6c 44 61 74 61 | 3a 20 5b 4e 53 44 61 74 |qualData|: [NSDat|
|00001180| 61 20 64 61 74 61 57 69 | 74 68 42 79 74 65 73 3a |a dataWi|thBytes:|
|00001190| 20 6f 75 74 31 20 6c 65 | 6e 67 74 68 3a 20 73 74 | out1 le|ngth: st|
|000011a0| 72 6c 65 6e 28 6f 75 74 | 31 29 5d 20 3a 20 67 6f |rlen(out|1)] : go|
|000011b0| 74 31 5d 3b 0a 20 20 5b | 73 65 6c 66 20 65 71 75 |t1];. [|self equ|
|000011c0| 61 6c 44 61 74 61 3a 20 | 5b 4e 53 44 61 74 61 20 |alData: |[NSData |
|000011d0| 64 61 74 61 57 69 74 68 | 42 79 74 65 73 3a 20 6f |dataWith|Bytes: o|
|000011e0| 75 74 32 20 6c 65 6e 67 | 74 68 3a 20 73 74 72 6c |ut2 leng|th: strl|
|000011f0| 65 6e 28 6f 75 74 32 29 | 5d 20 3a 20 67 6f 74 32 |en(out2)|] : got2|
|00001200| 5d 3b 0a 20 20 0a 20 20 | 0a 20 20 67 6f 74 31 3d |];. . |. got1=|
|00001210| 5b 4d 69 6d 65 55 74 69 | 6c 69 74 79 20 65 6e 63 |[MimeUti|lity enc|
|00001220| 6f 64 65 48 65 61 64 65 | 72 3a 20 69 6e 31 0a 09 |odeHeade|r: in1..|
|00001230| 09 20 20 20 20 75 73 69 | 6e 67 43 68 61 72 73 65 |. usi|ngCharse|
|00001240| 74 3a 20 40 22 75 74 66 | 2d 38 22 0a 09 09 20 20 |t: @"utf|-8"... |
|00001250| 20 20 65 6e 63 6f 64 69 | 6e 67 3a 20 42 41 53 45 | encodi|ng: BASE|
|00001260| 36 34 5d 3b 0a 0a 20 20 | 67 6f 74 32 3d 5b 4d 69 |64];.. |got2=[Mi|
|00001270| 6d 65 55 74 69 6c 69 74 | 79 20 65 6e 63 6f 64 65 |meUtilit|y encode|
|00001280| 48 65 61 64 65 72 3a 20 | 5b 4e 53 53 74 72 69 6e |Header: |[NSStrin|
|00001290| 67 20 73 74 72 69 6e 67 | 57 69 74 68 43 68 61 72 |g string|WithChar|
|000012a0| 61 63 74 65 72 73 3a 20 | 69 6e 32 20 20 6c 65 6e |acters: |in2 len|
|000012b0| 67 74 68 3a 20 73 69 7a | 65 6f 66 28 69 6e 32 29 |gth: siz|eof(in2)|
|000012c0| 2f 73 69 7a 65 6f 66 28 | 69 6e 32 5b 30 5d 29 5d |/sizeof(|in2[0])]|
|000012d0| 0a 09 09 20 20 20 20 75 | 73 69 6e 67 43 68 61 72 |... u|singChar|
|000012e0| 73 65 74 3a 20 40 22 75 | 74 66 2d 38 22 0a 09 09 |set: @"u|tf-8"...|
|000012f0| 20 20 20 20 65 6e 63 6f | 64 69 6e 67 3a 20 51 55 | enco|ding: QU|
|00001300| 4f 54 45 44 50 52 49 4e | 54 41 42 4c 45 5d 3b 0a |OTEDPRIN|TABLE];.|
|00001310| 20 20 0a 20 20 5b 73 65 | 6c 66 20 65 71 75 61 6c | . [se|lf equal|
|00001320| 44 61 74 61 3a 20 5b 4e | 53 44 61 74 61 20 64 61 |Data: [N|SData da|
|00001330| 74 61 57 69 74 68 42 79 | 74 65 73 3a 20 6f 75 74 |taWithBy|tes: out|
|00001340| 31 62 20 6c 65 6e 67 74 | 68 3a 20 73 74 72 6c 65 |1b lengt|h: strle|
|00001350| 6e 28 6f 75 74 31 62 29 | 5d 20 3a 20 67 6f 74 31 |n(out1b)|] : got1|
|00001360| 5d 3b 0a 20 20 5b 73 65 | 6c 66 20 65 71 75 61 6c |];. [se|lf equal|
|00001370| 44 61 74 61 3a 20 5b 4e | 53 44 61 74 61 20 64 61 |Data: [N|SData da|
|00001380| 74 61 57 69 74 68 42 79 | 74 65 73 3a 20 6f 75 74 |taWithBy|tes: out|
|00001390| 32 62 20 6c 65 6e 67 74 | 68 3a 20 73 74 72 6c 65 |2b lengt|h: strle|
|000013a0| 6e 28 6f 75 74 32 62 29 | 5d 20 3a 20 67 6f 74 32 |n(out2b)|] : got2|
|000013b0| 5d 3b 0a 20 20 0a 20 20 | 0a 20 20 67 6f 74 31 3d |];. . |. got1=|
|000013c0| 5b 4d 69 6d 65 55 74 69 | 6c 69 74 79 20 65 6e 63 |[MimeUti|lity enc|
|000013d0| 6f 64 65 57 6f 72 64 55 | 73 69 6e 67 51 75 6f 74 |odeWordU|singQuot|
|000013e0| 65 64 50 72 69 6e 74 61 | 62 6c 65 3a 20 69 6e 31 |edPrinta|ble: in1|
|000013f0| 0a 09 09 20 20 20 20 70 | 72 65 66 69 78 4c 65 6e |... p|refixLen|
|00001400| 67 74 68 3a 20 30 5d 3b | 0a 20 20 67 6f 74 32 3d |gth: 0];|. got2=|
|00001410| 5b 4d 69 6d 65 55 74 69 | 6c 69 74 79 20 65 6e 63 |[MimeUti|lity enc|
|00001420| 6f 64 65 57 6f 72 64 55 | 73 69 6e 67 51 75 6f 74 |odeWordU|singQuot|
|00001430| 65 64 50 72 69 6e 74 61 | 62 6c 65 3a 20 5b 4e 53 |edPrinta|ble: [NS|
|00001440| 53 74 72 69 6e 67 20 73 | 74 72 69 6e 67 57 69 74 |String s|tringWit|
|00001450| 68 43 68 61 72 61 63 74 | 65 72 73 3a 20 69 6e 32 |hCharact|ers: in2|
|00001460| 20 20 6c 65 6e 67 74 68 | 3a 20 73 69 7a 65 6f 66 | length|: sizeof|
|00001470| 28 69 6e 32 29 2f 73 69 | 7a 65 6f 66 28 69 6e 32 |(in2)/si|zeof(in2|
|00001480| 5b 30 5d 29 5d 0a 09 09 | 20 20 20 20 70 72 65 66 |[0])]...| pref|
|00001490| 69 78 4c 65 6e 67 74 68 | 3a 20 30 5d 3b 0a 20 20 |ixLength|: 0];. |
|000014a0| 0a 20 20 67 6f 74 33 3d | 5b 4d 69 6d 65 55 74 69 |. got3=|[MimeUti|
|000014b0| 6c 69 74 79 20 65 6e 63 | 6f 64 65 57 6f 72 64 55 |lity enc|odeWordU|
|000014c0| 73 69 6e 67 51 75 6f 74 | 65 64 50 72 69 6e 74 61 |singQuot|edPrinta|
|000014d0| 62 6c 65 3a 20 5b 4e 53 | 53 74 72 69 6e 67 20 73 |ble: [NS|String s|
|000014e0| 74 72 69 6e 67 57 69 74 | 68 43 68 61 72 61 63 74 |tringWit|hCharact|
|000014f0| 65 72 73 3a 20 69 6e 33 | 20 20 6c 65 6e 67 74 68 |ers: in3| length|
|00001500| 3a 20 73 69 7a 65 6f 66 | 28 69 6e 33 29 2f 73 69 |: sizeof|(in3)/si|
|00001510| 7a 65 6f 66 28 69 6e 33 | 5b 30 5d 29 5d 0a 09 09 |zeof(in3|[0])]...|
|00001520| 20 20 20 20 70 72 65 66 | 69 78 4c 65 6e 67 74 68 | pref|ixLength|
|00001530| 3a 20 30 5d 3b 0a 20 20 | 0a 20 20 5b 73 65 6c 66 |: 0];. |. [self|
|00001540| 20 65 71 75 61 6c 44 61 | 74 61 3a 20 5b 4e 53 44 | equalDa|ta: [NSD|
|00001550| 61 74 61 20 64 61 74 61 | 57 69 74 68 42 79 74 65 |ata data|WithByte|
|00001560| 73 3a 20 6f 75 74 31 63 | 20 6c 65 6e 67 74 68 3a |s: out1c| length:|
|00001570| 20 73 74 72 6c 65 6e 28 | 6f 75 74 31 63 29 5d 20 | strlen(|out1c)] |
|00001580| 3a 20 67 6f 74 31 5d 3b | 0a 20 20 5b 73 65 6c 66 |: got1];|. [self|
|00001590| 20 65 71 75 61 6c 44 61 | 74 61 3a 20 5b 4e 53 44 | equalDa|ta: [NSD|
|000015a0| 61 74 61 20 64 61 74 61 | 57 69 74 68 42 79 74 65 |ata data|WithByte|
|000015b0| 73 3a 20 6f 75 74 32 63 | 20 6c 65 6e 67 74 68 3a |s: out2c| length:|
|000015c0| 20 73 74 72 6c 65 6e 28 | 6f 75 74 32 63 29 5d 20 | strlen(|out2c)] |
|000015d0| 3a 20 67 6f 74 32 5d 3b | 0a 20 20 5b 73 65 6c 66 |: got2];|. [self|
|000015e0| 20 65 71 75 61 6c 44 61 | 74 61 3a 20 5b 4e 53 44 | equalDa|ta: [NSD|
|000015f0| 61 74 61 20 64 61 74 61 | 57 69 74 68 42 79 74 65 |ata data|WithByte|
|00001600| 73 3a 20 6f 75 74 33 63 | 20 6c 65 6e 67 74 68 3a |s: out3c| length:|
|00001610| 20 73 74 72 6c 65 6e 28 | 6f 75 74 33 63 29 5d 20 | strlen(|out3c)] |
|00001620| 3a 20 67 6f 74 33 5d 3b | 0a 7d 0a 0a 0a 2d 28 76 |: got3];|.}...-(v|
|00001630| 6f 69 64 29 20 74 65 73 | 74 5f 63 68 61 72 73 65 |oid) tes|t_charse|
|00001640| 74 5f 66 6f 72 5f 73 74 | 72 69 6e 67 0a 7b 0a 73 |t_for_st|ring.{.s|
|00001650| 74 72 75 63 74 0a 7b 0a | 09 4e 53 53 74 72 69 6e |truct.{.|.NSStrin|
|00001660| 67 20 2a 63 6f 72 72 65 | 63 74 3b 0a 09 75 6e 69 |g *corre|ct;..uni|
|00001670| 63 68 61 72 20 63 68 61 | 72 61 63 74 65 72 73 5b |char cha|racters[|
|00001680| 34 5d 3b 0a 7d 20 74 65 | 73 74 73 5b 5d 3d 7b 0a |4];.} te|sts[]={.|
|00001690| 7b 40 22 69 73 6f 2d 38 | 38 35 39 2d 31 22 2c 7b |{@"iso-8|859-1",{|
|000016a0| 30 78 34 31 2c 30 78 65 | 35 2c 30 78 65 34 2c 30 |0x41,0xe|5,0xe4,0|
|000016b0| 78 66 36 7d 7d 2c 0a 7b | 40 22 69 73 6f 2d 38 38 |xf6}},.{|@"iso-88|
|000016c0| 35 39 2d 35 22 2c 7b 30 | 78 34 32 2c 30 78 34 33 |59-5",{0|x42,0x43|
|000016d0| 30 2c 30 78 34 33 31 2c | 30 78 61 64 7d 7d 2c 0a |0,0x431,|0xad}},.|
|000016e0| 7b 40 22 69 73 6f 2d 38 | 38 35 39 2d 36 22 2c 7b |{@"iso-8|859-6",{|
|000016f0| 30 78 34 33 2c 30 78 36 | 32 37 2c 30 78 36 32 38 |0x43,0x6|27,0x628|
|00001700| 2c 30 78 36 32 39 7d 7d | 2c 0a 7b 40 22 69 73 6f |,0x629}}|,.{@"iso|
|00001710| 2d 38 38 35 39 2d 38 22 | 2c 7b 30 78 34 34 2c 30 |-8859-8"|,{0x44,0|
|00001720| 78 35 64 30 2c 30 78 35 | 64 31 2c 30 78 35 64 32 |x5d0,0x5|d1,0x5d2|
|00001730| 7d 7d 2c 0a 7b 40 22 6b | 6f 69 38 2d 72 22 2c 7b |}},.{@"k|oi8-r",{|
|00001740| 30 78 34 35 2c 30 78 34 | 33 30 2c 30 78 34 33 31 |0x45,0x4|30,0x431|
|00001750| 2c 30 78 32 35 35 36 7d | 7d 2c 0a 7b 40 22 6b 6f |,0x2556}|},.{@"ko|
|00001760| 69 38 2d 75 22 2c 7b 30 | 78 34 35 2c 30 78 34 33 |i8-u",{0|x45,0x43|
|00001770| 30 2c 30 78 34 33 31 2c | 30 78 34 39 31 7d 7d 2c |0,0x431,|0x491}},|
|00001780| 0a 7d 3b 0a 0a 09 4e 53 | 4d 75 74 61 62 6c 65 53 |.};...NS|MutableS|
|00001790| 74 72 69 6e 67 20 2a 73 | 74 72 3d 5b 5b 4e 53 4d |tring *s|tr=[[NSM|
|000017a0| 75 74 61 62 6c 65 53 74 | 72 69 6e 67 20 61 6c 6c |utableSt|ring all|
|000017b0| 6f 63 5d 20 69 6e 69 74 | 5d 3b 0a 09 69 6e 74 20 |oc] init|];..int |
|000017c0| 69 3b 0a 09 4e 53 53 74 | 72 69 6e 67 20 2a 73 3b |i;..NSSt|ring *s;|
|000017d0| 0a 0a 09 66 6f 72 20 28 | 69 3d 30 3b 69 3c 32 30 |...for (|i=0;i<20|
|000017e0| 30 3b 69 2b 2b 29 0a 09 | 09 5b 73 74 72 20 61 70 |0;i++)..|.[str ap|
|000017f0| 70 65 6e 64 53 74 72 69 | 6e 67 3a 20 40 22 54 68 |pendStri|ng: @"Th|
|00001800| 69 73 20 69 73 20 6a 75 | 73 74 20 61 20 62 75 6e |is is ju|st a bun|
|00001810| 63 68 20 6f 66 20 72 61 | 6e 64 6f 6d 20 41 53 43 |ch of ra|ndom ASC|
|00001820| 49 49 20 63 68 61 72 61 | 63 74 65 72 73 2e 5c 6e |II chara|cters.\n|
|00001830| 22 5d 3b 0a 0a 09 73 3d | 5b 4d 69 6d 65 55 74 69 |"];...s=|[MimeUti|
|00001840| 6c 69 74 79 20 63 68 61 | 72 73 65 74 46 6f 72 53 |lity cha|rsetForS|
|00001850| 74 72 69 6e 67 3a 20 73 | 74 72 5d 3b 0a 09 5b 73 |tring: s|tr];..[s|
|00001860| 65 6c 66 20 65 71 75 61 | 6c 53 74 72 69 6e 67 3a |elf equa|lString:|
|00001870| 20 40 22 69 73 6f 2d 38 | 38 35 39 2d 31 22 20 3a | @"iso-8|859-1" :|
|00001880| 20 73 5d 3b 20 2f 2a 20 | 54 4f 44 4f 3a 20 77 6f | s]; /* |TODO: wo|
|00001890| 75 6c 64 6e 27 74 20 75 | 73 2d 61 73 63 69 69 20 |uldn't u|s-ascii |
|000018a0| 62 65 20 62 65 74 74 65 | 72 20 66 6f 72 20 61 20 |be bette|r for a |
|000018b0| 70 6c 61 69 6e 20 61 73 | 63 69 69 20 73 74 72 69 |plain as|cii stri|
|000018c0| 6e 67 3f 20 2a 2f 0a 09 | 44 45 53 54 52 4f 59 28 |ng? */..|DESTROY(|
|000018d0| 73 74 72 29 3b 0a 0a 09 | 66 6f 72 20 28 69 3d 30 |str);...|for (i=0|
|000018e0| 3b 69 3c 73 69 7a 65 6f | 66 28 74 65 73 74 73 29 |;i<sizeo|f(tests)|
|000018f0| 2f 73 69 7a 65 6f 66 28 | 74 65 73 74 73 5b 30 5d |/sizeof(|tests[0]|
|00001900| 29 3b 69 2b 2b 29 0a 09 | 09 5b 73 65 6c 66 20 65 |);i++)..|.[self e|
|00001910| 71 75 61 6c 53 74 72 69 | 6e 67 3a 20 74 65 73 74 |qualStri|ng: test|
|00001920| 73 5b 69 5d 2e 63 6f 72 | 72 65 63 74 0a 09 09 09 |s[i].cor|rect....|
|00001930| 3a 20 5b 4d 69 6d 65 55 | 74 69 6c 69 74 79 20 63 |: [MimeU|tility c|
|00001940| 68 61 72 73 65 74 46 6f | 72 53 74 72 69 6e 67 3a |harsetFo|rString:|
|00001950| 20 5b 4e 53 53 74 72 69 | 6e 67 20 73 74 72 69 6e | [NSStri|ng strin|
|00001960| 67 57 69 74 68 43 68 61 | 72 61 63 74 65 72 73 3a |gWithCha|racters:|
|00001970| 20 74 65 73 74 73 5b 69 | 5d 2e 63 68 61 72 61 63 | tests[i|].charac|
|00001980| 74 65 72 73 20 6c 65 6e | 67 74 68 3a 20 34 5d 5d |ters len|gth: 4]]|
|00001990| 5d 3b 0a 7d 0a 0a 0a 40 | 65 6e 64 0a 0a 00 00 00 |];.}...@|end.....|
|000019a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000019b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000019c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000019d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000019e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000019f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001a00| 00 00 01 00 00 00 01 00 | 00 00 00 00 00 00 00 1e |........|........|
|00001a10| 54 68 69 73 20 72 65 73 | 6f 75 72 63 65 20 66 6f |This res|ource fo|
|00001a20| 72 6b 20 69 6e 74 65 6e | 74 69 6f 6e 61 6c 6c 79 |rk inten|tionally|
|00001a30| 20 6c 65 66 74 20 62 6c | 61 6e 6b 20 20 20 00 00 | left bl|ank ..|
|00001a40| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001a50| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001a60| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001a70| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001a80| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001a90| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001aa0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001ab0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001ac0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001ad0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001ae0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001af0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001b00| 00 00 01 00 00 00 01 00 | 00 00 00 00 00 00 00 1e |........|........|
|00001b10| 00 00 00 00 00 00 00 00 | 00 1c 00 1e ff ff 00 00 |........|........|
|00001b20| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001b30| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001b40| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001b50| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001b60| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001b70| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
+--------+-------------------------+-------------------------+--------+--------+